1. Field of the Invention
The present invention relates generally to mobile computing systems and, more particularly, to data management and data deployment in mobile computing systems.
2. Description of the Related Art
Sophisticated customer relationship management (CRM) and enterprise resource planning (ERP) systems are available to improve the automation of back office and front office processes. Although many companies have realized significant savings and efficiencies from deploying such systems, it is also true that many organizations find the systems burdensome to implement and difficult to integrate with existing legacy data systems.
More recently, business organizations and enterprises are deploying CRM and ERP systems to assist mobile employees, primarily to utilize mobile computing devices such as pagers and cell phones and also personal digital assistants (PDAs). One important impediment to greater adoption of CRM and ERP systems that employ such mobile devices involve integration with other data in the enterprise.
Enterprise data integration issues can arise because mobile applications often come in proprietary, closed architectures that impede integration with other data systems of the enterprise. For example, data in the enterprise might be maintained in four or five different sources. Some of the data sources include CRM systems, dispatch systems, ERP systems, and financial records systems. Each of these data sources can utilize a different data architecture, format, and protocol. The data being stored and the configuration of the data and access mechanisms are constantly changing. Many mobile computing systems create an interim datastore in which data from the various sources in the enterprise is collected. In this way, data from the different enterprise data sources, each with a different data architecture and format, can be collected in a single common database. The mobile users can access the enterprise data by accessing the interim datastore, rather than the actual enterprise data sources. The interim store, however, creates data update and conflict issues of its own. Synchronization operations and other safeguards must be performed frequently, to ensure that the data in the interim datastore is a faithful copy of the data in the enterprise data sources.
It is known to provide a data integration solution that can utilize mobile computing devices that interface to enterprise data sources through a network server. Such a system is described in U.S. patent application Ser. No. 10/746,229 abandoned filed Dec. 23, 2003 assigned to Dexterra, Inc. of Bothell, Wash., USA. The contents of this application are incorporated herein by reference.
The Dexterra, Inc. patent application describes a system in which data is utilized between multiple enterprise data sources to mobile clients in a distributed fashion such that requests from a mobile client for enterprise data are received, the appropriate enterprise data sources that contain the requested data are determined, and the enterprise data is retrieved from the determined enterprise data sources. When the enterprise data is retrieved, it is converted into a relational format, even if the data comes from multiple enterprise data sources of different non-relational types (e.g. File System, email, etc). The converted enterprise data is stored in a relational datastore in the mobile client. In this way, mobile applications can be fully integrated with data from multiple enterprise data sources and data updates and configuration changes can be distributed to and from the mobile clients in real time, without using interim data storage, and thereby avoiding complicated synchronization and asynchronous data issues between the enterprise data sources and the mobile clients. The real time data changes can include deployment of changes to the mobile application itself, as well as data updates. The real time changes are further accommodated with data conflict detection and resolution.
The Dexterra, Inc. system referenced above is based on a system architecture in which target enterprise data sources contain objects or data tables, and each target data table is mapped to a data object called a View. That is, a View is defined that corresponds to each data table in the enterprise data sources from which the application will obtain data. The Views can be defined by the application developer, or from another vendor. The data in the Views are shared among one or more data entities referred to as Business Objects. A single Business Object can utilize data from multiple Views, and therefore can utilize data from multiple enterprise data sources, even from data sources that have incompatible data formats.
Once a set of Business Objects is defined, application developers can design applications while dealing with data through their interface to the Business Objects, rather than get involved in describing and defining the Views and Connectors. Thus, developers are presented with a format-free data interface, so that differences in targets are abstracted out from the developer.
The system described in the Dexterra, Inc. patent application referenced above provides a powerful development tool for the mobile computing platform that permits access to a variety of enterprise data sources. Even greater flexibility in the data interface, however, could extend the capabilities of the system and make application development even easier. The present invention provides such greater flexibility.